VERSU=1_2_8
VERSD=1.2.8
# YYYYMMDD, please, if beta.
-RELEASE=-beta20060605
+RELEASE=-beta20060701a
VERSIONU=$(VERSU)$(RELEASE)
VERSIOND=$(VERSD)$(RELEASE)
DOCVERSION=development
-# VERSIONU=1_2_7
-# VERSIOND=1.2.7
+CC=@CC@
+EXEEXT=@EXEEXT@
#EXTRA_LIBS -lefence
# add -DDEBUG_MEM to turn on memory allocation logging
GBCFLAGS=$(EXTRA_CFLAGS) $(DEBUGGING) -I. -I@srcdir@/coldsync \
$(OPTIMIZATION) @CFLAGS@
+LDFLAGS=$(EXTRA_LDFLAGS) @LDFLAGS@
INSTALL_TARGETDIR=/usr/local/
# OTHER_ROOT=/opt/local # For DarwinPorts on OSX
OBJS = main.o globals.o $(LIBOBJS)
.c.o:
- @CC@ @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
+ $(CC) @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
WEB=../babelweb/
-all: gpsbabel@EXEEXT@
+all: gpsbabel$(EXEEXT)
-gpsbabel@EXEEXT@: $(OBJS)
- @CC@ $(CFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
+gpsbabel$(EXEEXT): $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
Makefile: Makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
globals.o:
- @CC@ @CPPFLAGS@ -c $(GBCFLAGS) -DVERSION=\"$(VERSIOND)\" $< $(OUTPUT_SWITCH)$@
+ $(CC) @CPPFLAGS@ -c $(GBCFLAGS) -DVERSION=\"$(VERSIOND)\" $< $(OUTPUT_SWITCH)$@
jeeps/gpslibusb.o:
- @CC@ @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@
+ $(CC) @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@
clean:
rm -f $(OBJS) gpsbabel gpsbabel.exe
xmldoc/readme.xml
tools/mkcapabilities
-gpsbabel-onepage.html: FORCE
+gpsbabel.html: FORCE
xsltproc \
--stringparam toc.section.depth "1" \
--stringparam html.stylesheet \
http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
xmldoc/readme.xml > $@ || rm $@
+readme.txt: gpsbabel.html
+ lynx -nolist -dump gpsbabel.html > $@
-readme.txt: readme.html
- lynx -nolist -dump readme.html > $@
-
-doc: $(WEB)/htmldoc-$(DOCVERSION)/readme.html # readme.txt
+doc: gpsbabel $(WEB)/htmldoc-$(DOCVERSION)/readme.html # readme.txt
FORCE:
-release:
+# file list for windows package
+WINFILES = gpsbabel.exe mingw/libexpat.dll win32/GPSBabelGUI.exe win32/gui-2/README.gui \
+ README* AUTHORS COPYING gpsbabel.html
+
+#
+# Do administrative-y things to the tree. Verify that everything is checked
+# in and tagged.
+#
+release-sourcecheck:
cvs commit
./chkdoc
- make clean && cd mingw ; make clean
+ make clean
rm -fr gpsbabel-$(VERSIOND)
+ make gpsbabel doc gpsbabel.html
cvs tag -F gpsbabel_$(VERSIONU)
cvs export -r gpsbabel_$(VERSIONU) -d gpsbabel-$(VERSIOND) gpsbabel
- tar czf /tmp/gpsbabel-$(VERSIOND).tar.gz gpsbabel-$(VERSIOND)
- cd /tmp ; tar xzf gpsbabel-$(VERSIOND).tar.gz
+
+#
+# Build the release tarball from the exported CVS tree, tweaking
+# timestamps and including generated filess as needed.
+#
+release-tarball: gpsbabel.html
+# rm -fr /tmp/gpsbabel-$(VERSIOND)
touch /tmp/gpsbabel-$(VERSIOND)/internal_styles.c
- cd /tmp/gpsbabel-$(VERSIOND)/mingw ; make
+ cp -ap gpsbabel.html /tmp/gpsbabel-$(VERSIOND)/
+ tar czf /tmp/gpsbabel-$(VERSIOND).tar.gz gpsbabel-$(VERSIOND)
+# cd /tmp ; tar xzf gpsbabel-$(VERSIOND).tar.gz
+
+
+#
+# The Windows executables are cross compiled from the exported CVS image.
+# Do the build of that here and make a zip file for distribution.
+#
+release-winbuild:
+ cd /tmp/gpsbabel-$(VERSIOND) ; \
+ LDFLAGS="-s" ./configure --target=i386-pc-mingw32 --with-cet=all && make mingw32-cross-build ; \
+ zip -j /tmp/gpsbabel-$(VERSIOND).zip $(WINFILES)
+
+release-upload:
+ @(. tools/functions && ask "Type yes if you want to do the upload now" "yes" )
curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).tar.gz ftp://upload.sf.net/incoming/
curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).zip ftp://upload.sf.net/incoming/
+release: release-sourcecheck release-tarball release-winbuild release-upload
+
rpm: clean
tools/mkrpm $(VERSD) $(RELEASE)
echo $(OBJS) > objs.lst
LINK.EXE /NOLOGO @objs.lst ./msvc/expat/libexpat.lib /out:gpsbabel.exe
+# under linux: ./configure --target=i386-pc-mingw32 && make mingw32-cross-build
+mingw32-cross-build:
+ make \
+ CC=/usr/local/bin/i386-mingw32-gcc \
+ EXEEXT=.exe \
+ EXTRA_LDFLAGS="-Lmingw/lib -Imingw/include "
+
# Machine generated from here down.
an1.o: an1.c defs.h config.h queue.h gbtypes.h cet.h cet_util.h inifile.h \
an1sym.h